//引入模块框架
const express = require('express');
//引入图标
const favicon = require('serve-favicon');
//引入mysql
const mysql = require('mysql');
//搭建服务
const server = express();


//配置
server.use(express.static('./Web'));
server.use(favicon('./icons/favicon.ico'));

// const arr = [{ username: 'aaa', password: '111' }, { username: 'bbb', password: '222' }];

//配置post
server.use(express.json());// 定义前后台交互的数据类型树json格式
server.use(express.urlencoded({ extended: false }));//定义请求头的类型是application/x-www-form-urlencoded
//定义请求为from表单的类型

//配置mysql
const db = mysql.createConnection({
    host: 'localhost', //因为是本地所以是localhost，如果是别人的电脑，别人的ip地址
    user: 'root',
    password: 'root',
    database: 'web308'
});

// 登录
server.post('/login', (req, res) => {
    const { username, password } = req.body;
    const sql = `select * from user where username='${username}' and password='${password}';`;
    //执行sql
    db.query(sql, (err, data) => {//err如果执行sql报错   data执行成功返回的结果
        if (err) {
            res.send({ error: 1, msg: err })
        } else {
            if (data.length > 0) {
                res.send({ error: 0, msg: '登录成功' })
            } else {
                res.send({ error: 1, msg: '账号名密码错误' })
            }
        }
    })
})
// 注册
server.post('/register', (req, res) => {
    //获取前端的数据
    const { username, password } = req.body;
    //准备sql语句
    //查询有没有这个用户
    const sql1 = `select * from user where username='${username}';`;
    const sql2 = `insert into user values(null,'${username}','${password}');`
    //执行查询语句 查有没有这个用户
    db.query(sql1, (err, data) => {
        if (err) {
            res.send({ error: 1, msg: err })
        } else {
            if (data.length > 0) {//有这个用户
                res.send({ error: 1, msg: '用户名已经存在' })
            } else {//没有这个用户
                db.query(sql2, (err2, data2) => {
                    if (err2) {
                        res.send({ error: 1, msg: err })
                    } else {
                        res.send({ error: 0, msg: '注册成功' })
                    }
                })
            }
        }
    })

})

//新闻展示
server.get('/getNews', (req, res) => {
    //准备sql语句
    const sql = `select * from news;`;
    //执行sql
    db.query(sql, (err, data) => {
        if (err) {
            res.send({ error: 1, msg: err })
        } else {
            if (data.length > 0) {
                res.send({ data })
            }
        }
    })

})

// 商品渲染
server.get('/getShops', (req, res) => {
    const { id } = req.body;
    //准备sql语句
    const sql = `select * from shop;`;
    //执行sql
    db.query(sql, (err, data) => {
        if (err) {
            res.send({ error: 1, msg: err })
        } else {
            if (data.length > 0) {
                res.send({ data })
            }
        }
    })

})

// 商品渲染
server.get('/getDoctors', (req, res) => {
    const { id } = req.body;
    //准备sql语句
    const sql = `select * from doctors;`;
    //执行sql
    db.query(sql, (err, data) => {
        if (err) {
            res.send({ error: 1, msg: err })
        } else {
            if (data.length > 0) {
                res.send({ data })
            }
        }
    })

})

//设置监听运行端口
server.listen(9999);
